GXRotateShape
You can use theGXRotateShape
function to rotate a shape around a specified origin.
void GXRotateShape(gxShape target, Fixed degrees, Fixed xOffset, Fixed yOffset);
target
- A reference to the shape you want to rotate.
degrees
- The number of degrees to rotate the shape.
xOffset
- The horizontal coordinate of the origin to rotate the shape around.
yOffset
- The vertical coordinate of the origin to rotate the shape around.
DESCRIPTION
TheGXRotateShape
function rotates the shape referenced by thetarget
parameter by the number of degrees specified in thedegrees
parameter around the origin specified by thexOffset
andyOffset
parameters.This function rotates the target shape in one of two ways:
The target shape can be any shape type. However, if the target shape is an empty shape, a full shape, or a picture shape, this function has no effect unless the shape's
- If the target shape's
gxMapTransformShape
attribute is cleared, the function recalculates the control points of the shape's geometry to effect the rotation.- If the target shape's
gxMapTransformShape
attribute is set, this function is identical to theGXRotateTransform
function; it recalculates the mapping matrix of the target shape's transform object to effect the rotation. If the target shape shares this transform object with other shapes, QuickDraw GX makes a copy of the transform object, associates the copy with the target shape, and makes changes to the copy.
gxMapTransformShape
attribute is set.The coordinates of the origin are specified in geometry space.
ERRORS, WARNINGS, AND NOTICES
Errors out_of_memory shape_is_nil shape_access_not_allowed (debugging version) Warnings rotate_shape_out_of_range graphic_type_cannot_be_moved Notices (debugging version) mapping_unaffected SEE ALSO
For an example of the use of this function, see Listing 6-4 on page 6-25.To rotate a shape by altering the mapping property of its transform object, you can also use the
GXRotateTransform
function, described on page 6-62.